多终端认证是什么

  • 一个中大型系统,往往会有多个子系统。很多子系统之间的资源是相互隔离的,无法互相访问
  • 比如在前端门户网站登录的用户,获取到的token是无法直接访问后端管理系统的资源的
  • 支持对多个子系统进行校验认证的,资源隔离的系统,称之为多终端认证系统

如何使用多终端认证

一、拼接出客户端请求头

  • 进入后端管理->应用管理,查看列表,主要关注客户端id客户端密钥
  • 我们将两者以冒号分割,并且转成base64串
  • 例如sword:sword_secret最终转换的base64串则为c3dvcmQ6c3dvcmRfc2VjcmV0
  • 将base64串作为值放到请求头中,请求头的key值为Authorization,调用接口
  • 除此之外所有接口本身还需要Blade-Auth请求头,值为从token接口中获取

二、配置客户端信息

  • sword系统的defaultSettings.js中如下配置
  • saber系统的website.js中如下配置

三、配置资源规则

  • 在nacos或者工程本地的yml中增加如下配置
  • 配置讲解:下图配置代表对资源路径为 /test/** 的所有请求进行放行,不进行token认证
  • 下图配置代表指定资源路径 /sword/** 的所有请求只能由clientId为sword申请到的token才可以访问
  • 第二个配置saber配置同理,这样一来便可实现同一个系统下的不同子系统,配置客户端的资源访问权限。